<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <img id="img" />
    <script>
      /*
      将图片二进制数据转BLOB对象
      1. 将二进制转换成临时地址 URL.createObjectURL()
      2. 选择img标签设置转换后的地址
      针对小文件，使用base64编码，将二进制数据转换成普通可见字符
      3. img>src可以直接识别base64字符串，赋值给他后，可以展示图片信息
      4. 不需要请求服务器
      */
      const xhr = new XMLHttpRequest();
      xhr.open("GET", "http://localhost:3008/img");
      xhr.responseType = "blob";
      xhr.onload = function () {
        console.log(xhr.response);
        // 文件读取
        const fd = new FileReader();
        // 可以读取BLOB对象，将对象内容转换为Base64字符串
        fd.readAsDataURL(xhr.response);
        // 读取完毕后执行
        fd.onload = function () {
          // 转换后的结果
          // console.log(fd.result);
          img.src = fd.result;
        };
      };

      xhr.send();
    </script>
  </body>
</html>
